08 RCC
up的视频讲解先找时钟从哪里来,再看倍频与分频,最后把时钟树和复位电路连接起来。
1 RCC 管理时钟与复位
RCC 是复位与时钟控制模块。时钟决定内核和外设的工作节拍,复位则让相关电路回到规定的初始状态。

一个外设即使已经连接引脚,没有开启相应时钟也不能正常工作。配置时钟时,需要同时回答三个问题:来源是什么、频率是多少、送到哪里。
2 沿着时钟树找到主时钟

外部高速时钟 HSE
课程开发板使用 8 MHz 外部晶体。时钟进入芯片后,可以经过 PLL 倍频,再被选择为系统时钟 SYSCLK。课程常用的配置是 8 MHz × 9 = 72 MHz。

系统时钟之后还有分频:AHB 得到 HCLK,APB1、APB2 分别得到相应的外设总线时钟。不同外设有各自的工作频率限制,不能简单地认为所有外设都运行在 72 MHz。

定时器时钟还要结合 APB 分频设置判断。后面计算定时周期时,应使用实际的定时器输入时钟,而不是直接套用系统时钟。
内部高速时钟 HSI
HSI 来自芯片内部的 RC 振荡器。它不需要外部晶体,芯片复位后先使用这一路时钟,再由启动配置切换到课程需要的时钟路径。

3 低速时钟服务于哪些功能
| 时钟源 | 来源 | 课程中的关联功能 |
|---|---|---|
| LSE | 外部低速晶体 | 实时时钟 RTC 的时钟选择之一 |
| LSI | 内部低速 RC | 独立看门狗 IWDG 等功能 |

独立看门狗使用独立的低速时钟。程序按规定刷新计数;如果长时间没有刷新,看门狗就可以触发复位。这种机制用于发现程序失去正常运行节奏的情况。
4 复位信号如何汇合

复位可能来自外部 NRST 引脚,也可能由内部机制触发。分析复位问题时,既要看板上的按键与 RC 电路,也要看软件是否启用了看门狗等功能。
时钟配置决定“电路以什么节拍运行”,复位配置决定“从什么状态重新开始”。把这两个问题分开,时钟树和复位框图就容易读懂。